/* 
定义函数
*/

(() => {
  // 函数声明
  function add(x: number, y: number): number {
    return x + y
  }

  // add(3, '4') // error

  // 函数表达式
  let myAdd = function (x: number, y: number): number {  // 类型推断
    return x + y
  }

  myAdd(2, 3)
  // myAdd() // error
  
  // 完整语法  一般不用
  let myAdd2: (a: number, b: number) => number = function(x: number, y: number): number { 
    return x + y
  }   // 定义形参时, 可以少定义一个, 但多定义一个
})();

